Adaptive numerical control system for a machine tool

ABSTRACT

While the path of a milling machine cutter with respect to a workpiece is controlled from prerecorded information by a conventional numerical control system, the rate of feed of the cutter along its path and the rate of rotation of the cutter are controlled by an adaptive system. The system forms a servo loop about the actual cutting operation by sensing the torque and vibration of the cutter. Maximum and minimum limits of torque, vibration, spindle speed and feed rate, as well as variables which may be derived from these factors, are preset into the system. The adaptive control acts to optimize spindle speed and feed rate without violating any of these restraints.

United States Patent Glowzewski et al.

[ May 23, 19 72 Thomas L. Glowzewski, Warren; Hymie Cutler, Detroit,both of Mich.

[721 Inventors:

[73] Assignee: The Bendix Corporation [22] Filed: Mar. 30, 1970 [2l]Appl. No.: 23,698

[52] U.S.Cl ..235/l51.11,318/57l,318/561, 318/566, 235/l50.1, 90/13 C[51] Int. Cl. ..G05b 13/02 [58] FieldofSearch ..3l8/39;235/l51.11

[56] References Cited UNITED STATES PATENTS 3,548,172 12/1970 Centner etal. ..235/l51.11

3,479,574 11/1969 Kosem ..235/l51.ll X

Primary Examiner-Eugene G. Botz At!0rnyWilliam F. Thornton, Barnard,McGlynn & Reising and Flame, Hartz, Smith and Thompson [57] ABSTRACTWhile the path of a milling machine cutter with respect to a workpieceis controlled from prerecorded information by a conventional numericalcontrol system, the rate of feed of the cutter along its path and therate of rotation of the cutter are controlled by an adaptive system. Thesystem forms a servo loop about the actual cutting operation by sensingthe torque and vibration of the cutter. Maximum and minimum limits oftorque, vibration, spindle speed and feed rate, as well as variableswhich may be derived from these factors, are preset into the system. Theadaptive control acts to optimize spindle speed and feed rate withoutviolating any of these restraints.

15 Claims, 9 Drawing Figures MANUAL CONSTRAINT LIMIT ENTRY 34 CONSTRAINTLIMIT ENTRY FROM TAPE CONSTRAINT LIMIT STORAGE COMMANDED FEED RATE 1 MaVIBRATLQNEEEYID BACK OMMANDED SPINDLE S I STRATECY LOGIC TORQUE FEEDHACK COMMANDED CHIP LOAD 7 E v J 42 MODIFICATION CONTROL FOR CHIPLOADAND 59 SPINDLE SPEED REGISTERS ro FEED RATE SPINDLE 44 GENERATOR 58 ZETo SPINDLE H km 32 s X COMMAND PULSES [PM 6 )Y COMMAND PULSES LOGIC v62Z COMMAND PULSES TO CONTROLLER PATENTED IIII 23 I972 SHEET 1 OF 5 l' 22x sERvo F INPUT 5 I kgi CONTROLLER Y SERVO STORAGE N ,30 46 FEED RATESUM) TAPE coNsTRAINT ENTRY 68..-

CONSTRAINT sPINDLE SPEED coMMANDs LIMITS ADAPTIvE ToRQuE M 0 MANUALENTRY CONTROLLER VIBRATION 4 .2

MANUAL CONSTRAINT LIMIT ENTRY coNsTRAINT LIMIT ENTRY FRoM TAPEcoNsTRAINT LIMIT STORAGE d2 COMMANDED FEED RATE vIB ATIoN FEED BACKcoMMANDED SPINDL sPEED STRATEGY 40 LOGIC TORQ F 56 coMMANDED CHIP LQADUE EED BA\CK 42 57 MoDIFIcATIoN CONTROL FoR CHIPLOAD AND 5? SPINDLESPEED 1F REGISTERS .J

/70 FEED RATE gg g GENERATOR {a GENERATOR TO SPINDLE -32 x coMMANDPULSES 2 g 65 IPM omas W;

)Y COMMAND PuI5Es LOGIC BY Gui/6r z COMMAND PULSES /62 TO CONTROLLERATTORNEYS PATEIITEDMAYZSIHIZ 3,665,493

SHEET 2 OF 5 V MAX OPTIMIZATION /82: V MIN -ING f r MAX T I M INC LINC.V f MIN ING. v DEGv f IMPACT coNSTRAINT 90 T MAx STRATEGY GoRREcTIoNLOGIC F MAX f ADD ADD/SUB 55 A MAX OR SUB LOGIC INCREMENT f ACTUAL --DECv N 92 CONTROL v ACTUAL l HALT T ACTUAL AIR GAP 80 A ACTUAL F V M'N 2f pc 8i F ACTUAL SP'NDLE SUBTRAGTDR \53 SPEED REGISTER T MIN SPINDLE SPEEDggig ZGDNTRDI. REGISTER /62 I 8 l 2 2- I I I I I 60 I SQUARE GoMPARAToRI REGISTER I I I \200 [214 i I I I I ADD I SQUARE coMMAND I REGISTERENERATOR r 202 I ,20% I SQUARE I I ADDER I REGISTER CONTROLLER I I l I1\ A I I l ,5; i H. I SQUARE I I I REGISTER I j I I 65 INVENTORSflomasfifi/bzazwsd? 6 BY H Mia Caf/er I ATTQRNEYS v PATEflTEnnAvzalsn3,665,493

SHEET 3 BF 5 I06 ,114 ,110 ADDER OVERFLOW CHIP LOAD DETECTOR R REGISTERL. I00 lNCf DECf ADD ADD/5LJB CHIP LOAD TIMING LOAD LOGIC INCREMENTREGSTER SUB CON TROL CHIP LOAD START STOP SUBTRACTOR CONTROL ZERODETECTOR T QUE I TORQUE R ADDER REGTSTER 5 ER T ACT ADD SUB OVERFLOWLOGIC DETECTOR COM PARATO R .4; 5 T 'MAX 150 9 INVENTORS flows C61021827181475 BY l/ymie Cuzler ATTORNEYS PATENTEDIIIII 23 I972 3. 665493 SHEET U UF 5 i9 1 {ADD H06 cI-IIP LOAD CHIP LOAD COMMAND ADDEROSCILLATOR REG'STER R REGISTER TO CONSTRAINT LOGIC OVERFLOW DETEGTOR HzSPINDLE SPEED 44: SPINDLE SPEED ,1 REGISTER ADDER R REGISTER SPINDLESPEED OVERFLOW GENERATOR DETEGTOR TO CONSTRAINT I To STRATEGY LOGIC 4 2coNvERTER LOGIC TO SPINDLE r To IPM LOGIC l' 60 I l PULSE SHIFT IcOuNTER l I I l r-- I I w I I I SUBTRACTOR I TO 213 I I INVENTORS.7/7022245 (ibwmh' BY Hyzm'e Cuilez TTORNEYS ADAPTIVE NUMERICAL CONTROLSYSTEM FOR A MACHINE TOOL This invention relates to adaptive systems foroptimizing the performance of numerically controlled machine tools.

Systems for controlling the paths of motion of machine tool cutters withrespect to workpieces in accordance with prerecorded programs haveundergone intensive development and gained widespread use in recentyears. Such systems relieve the machine operator of the necessity ofcontinually guiding the cutter and, on many jobs, machines equipped withthese numerical control systems produce parts of higher uniformity, atlower cost, than equivalent manually controlled machines. In addition tothe path information, the prerecorded control programs for such machinesoften include information relating to the desired rate of motion of thecutter along its path and the rate of rotation of the cutter when amilling machine is controlled. These feed and speed values arepredetermined by the programmer based on assumptions which he makesabout the material being cut, the sharpness of the cutter, the conditionof the machine and similar variables. By necessity the programmer mustbe conservative in his estimates of these factors. The machine thenoperates at the rates determined by this programmed information, withoutany deviations based on the actual cutting operation.

The operation of the machine in this manner may, under certaincircumstances, be substantially less efficient, in terms of variouscriteria such as the speed of the cutting operation, than could be theoperation of the machine under the control of a skilled machinist whocould sense the performance of the machine and modify such factors asthe feed rate or cutter speeds to optimize the operation. For example,in defining the feed rate the programmer must assume that the materialbeing cut is the hardest material with which the program is likely to beused. When the program is used with a softer material, the feed ratesmight be increased substantially over the programmed values withoutimpairing the machine performance. Conversely, a workpiece may include ahardened section that exceeds the hardness limits which the programmerassumed causing rapid tool degridation.

Alternatively, in many systems manual overrides for feedrate spindlespeed have been provided so that an operator may observe the progress ofthe cutting operation and intervene to modify the programmed magnitudesof these quantities in order to optimize the machining operation.

In order to minimize this need for operator intervention it haspreviously been proposed to provide control systems for machine toolswhich sense factors related to the actual cutting operation and modifythe programmed feed and spindle speed in an adaptive and optimizingmanner.

The present invention relates to a system for controlling the cutter ofa machine tool wherein the cutter path is governed by a conventionalnumerical control system and the cutter feeds and speeds are completelyunder control of an adaptive loop which senses the torque exerted by acutter and the vibration of the cutter and controls the feed and speedwithin preset constraint limits to optimize the operation. The operationmay be optimized in accordance with one of several dependent criteria.For example, the metal removal rate may be maximized but only at asacrifice of tool life. Similarly, if the force at which the cutter mayimpact the workpiece is increased, the speed of the operation improvesbut tool life is decreased. Based on factors such as these, in apreferred embodiment of the invention maximum allowable values of suchvariables as torque, vibration, chip-load, spindle speed, feed rate, andimpact chip-load are set into the control as are the minimum allowablechip-loads and spindle speeds. These factors may either be manuallyentered into the system at the beginning of an operation or may beencoded on the information source with a numerical control system.Starting with minimum cutter speed and chip-load, both these variablesare regularly increased by predetermined percentages until the feedbacksignals indicate that one of the preset restraints has been violated.Then, depending upon which constraint has been violated, either thespindle speed, the chip-load or both are decreased until the violationis eliminated. Both variables are then again modified and this strategyis continued. As will be subsequently illustrated, this proves tomaximize the values of both of the variables.

The preferred embodiment, which will be subsequently disclosed indetail, derives a feedrate control signal by multiplying feed perrevolution (chip-load) by the spindle speed in revolutions per minute. Adigital differential analyzer (DDA) technique is used to achieve themultiplication. Separate registers are provided for storing thechip-load and the spindle speed. The contents of the chip-load registeris repeatedly added to the contents of a second register and theoverflows from that second register, which occur at a rate proportionalto the contents of the chip-load register, are used as commands tocontrol the addition of the contents of the spindle speed register intoa fourth register. The overflows from this fourth register thereforeoccur at a frequency proportional to both the chip-load registercontents number and the spindle speed register contents. This feedratesignal has a frequency proportional to the desired resultant feedrateproduced by the individual components represented by the machine controlaxes. To control the rates of pulse generation of the interpolatorsassociated with each machine control axis, the pulse outputs of theseinterpolators are each provided to circuits which generate numbersproportional to the square of the frequency of their inpulse trains.These numbers are then summed together and compared with the output of asimilar number produced by a squaring circuit which has the feedratesignal as its input. The comparison circuit feeds back to theinterpolators and controls their rates of operation so as to maintain anequality between the square of the feedrate signal and the sums of thesquares of the interpolator output signals. A spindle speed controlsignal is also developed directly from the contents of the spindle speedregister.

The adaptive system achieves control over spindle speed and feedrate byadjusting the contents of the chip-load and spindle speed registers.When the machine is initially started up and the tool is out of contactwith the workpiece, the system senses this condition because of the lowtorque and vibration feedback and inserts numbers in spindle speedregisters which cause a relatively fast feedrate determined by theimpact chip-load minimum and spindle speed constraint settings. As soonas the cutter impacts the work, the contents of the chip-load andspindle speed registers are modified to the minimum chip-load andspindle speed settings, initiating the minimum feedrate and the spindlespeed. At short intervals thereafter the contents of the chip-load andspindle speed registers are incremented. The spindle speed registercontent is always incremented by a fixed percentage of its previouscontent and the chip-load register is initially incremented in the samemanner.

This percentage change technique generates a small increment of changewhen the values contained in the registers are low and provides largechanges for larger register contents. Two advantages accrued to thistechnique: First, it guards against overshoot of the set limit values,and secondly it guards the cutting operation from too abrupt changes ofoperating values.

At the same time as the chip-load register is incremented, a registerwhich initially contains the torque feedback signal is also incremented.The setting of this register is continually compared with the maximumtorque setting register to prevent the further incrementing of thechip-load register at such time as maximum torque, as linearlyinterpolated by this circuit, is exceeded. This proportional controltechnique allows the amount of modification of the chip-load register tobe calculated so as to closely achieve the desired set limit value.

This process continues until maximum settings of chip-load and spindlespeed within the constraint limits are achieved. If a constraint limitis reached, one or both of the registers is decremented until theviolation is eliminated. In this manner the system continually modifiesthe spindle speed and the feedrate under control of the presetconstraints and the actual torque and vibration feedback signals in sucha manner as to optimize the factor used in the selection of theconstraint limits. For example, if the machining operation encounters ahardened section of the workpiece, the resultant increase in torque willexceed the maximum preset torque constraint and cause an immediatedecrement of the content of the chip-load register which will decreasethe feedrate until actual torque does not exceed the preset torque.Similar adaptive tactics will be triggered by other conditionsencountered in operation and will similarly operate to maximize thespindle speed and feedrate within the preset constraints.

It should be recognized that the preferred embodiment of the invention,as heretofore described, and as will be subsequently described ingreater detail, only represents the preferred exemplification of thepresent invention and other systems quite different from the preferredembodiment could be constructed employing the present invention.

Other advantages and applications of the present invention will be madeapparent by the following detailed description of a preferred embodimentof the invention. The description makes reference to the accompanyingdrawings which:

FIG. 1 is a schematic diagram, largely in block form, of a contouringtype numerical control system for a milling machine incorporating theadaptive controller of the present invention;

FIG. 2 is a block diagram of the adaptive controller,

FIG. 3 is a block diagram of the strategy logic unit which forms part ofthe adaptive controller;

FIG. 4 is a block diagram of the spindle speed modification controlwhich forms part of the adaptive control;

FIG. 5 is a block diagram of the chip-load modification control whichforms a part of the adaptive controller;

FIG. 6 is a block diagram of the feedrate generator which forms part ofthe adaptive controller;

FIG. 7 is a block diagram of the [PM logic which forms a part of theadaptive controller;

FIG. 8 is a block diagram of a square register which forms a part of theIPM logic; and

FIG. 9 is a graph illustrating the adaptive mode of operation of thesystem of the present invention.

The preferred embodiment of the invention is illustrated in connectionwith a milling machine, indicated at 10, which includes a cutter 12which is adapted to be rotated by a spindle 14. The milling machine 10operates upon a workpiece l6 and the position of the workpiece withrespect to the cutter 12 is adapted to be controlled along threemutually perpendicular axes.

Control over the workpiece position is achieved under the direction ofnumerical information retained in an appropriate storage media such as amagnetic tape 18. A reading head generates electrical signals which area function of the data contained on the tape as the tape is moved pastthe head, and provides these signals to an input logic and activestorage subsystem 22 which modifies the data into a form suitable foruse by the control system, such as making a binary-coded-decimal tobinary conversion, and which stores the information in appropriatememory devices for use by other elements of the control. The informationstored in the sub-system 22 is provided to a controller 24 which isoperative to generate a plurality of pulse trains, one for each axis ofthe machine which is positionally controlled, under the control of theinput data. These pulse trains contain numbers of pulses proportional tothe distance through which the workpiece 16 is to be moved with respectto the cutter 12 along each axis of control. In the preferred embodimentof the invention, control is exercised over three mutually perpendicularaxes, and accordingly the controller 24 provides three output pulsetrains to an X axis servo 26, a Y axis servo 28 and a Z axis servo 30.The servos are operative to move the workpiece relative to the cutterthrough one increment of distance, such as .0001 inch, for each pulsereceived.

The tape 18 has previously been coded by a programmer using a computerwith a plurality of command signals which cause the control tosequentially move the workpiece along an appropriate contour.

The system as heretofore described is a conventional contouringnumerical control system of the type broadly disclosed in the Forresteret al. U.S. Pat. No. 3,069,608, and more specifically disclosed in Ho etal. Pat. No. 3,128,374.

The present invention adds to such a conventional contouring systemapparatus which broadly controls the rate of rotation of the cutter l2,and the rate at which the controller 24 generates its output pulsetrains, both in accordance with feedback signals from the machiningprocess and preset constraint limits. These control operations areperformed by an adaptive controller 32. The controller, previous to theinitiation of the machine operation, receives information relating tothe cutting operation from either or both a constraint limit manualentry unit 34 and tape 18 via the reading head 20 and a line 36. Duringthe machine operation the adaptive controller 32 receives signals fromsensors 38 associated with the machine. These signals comprise a torquevalue on line 40, and a vibration value on line 42. The adaptivecontroller also receives the same three signals that are provided by thecontroller 24 to the X, Y and Z servos 26, 28 and 30 on lines 64, 66 and68. Based on the constraint limit values and the values of the signalsprovided from the sensors 38 and the controller 24, the adaptivecontroller 32 acts to generate spindle speed command signals which areprovided to the spindle 14 via line 44 and feedrate command signalswhich are provided to the controller 24 via line 46. These signals,which are regularly adjusted during the machining operation, control therate of rotation of the spindle and the rate of generation of outputsignals by the controller 24, and thus the rate of feed of the workpiece16 with respect to the cutter 12. The changes are made in such a way asto optimize the feedrate and the spindle speed within the constraintlimits applied to the system.

The internal organization of the adaptive controller 32 is illustratedin block form in FIG. 2. Its various sub-systems will now be describedin a functional manner. Previous to the start of operation of themachine various constraint limits are fed into a constraint limitstorage unit 50 from either or both of the manual entry 34 or the tape18 via line 36. The unit 50 simply acts to store these constraint limitsignals so that they are available to the system during the machineoperation.

These signals are provided to a strategy logic sub-system 52. This unitalso receives the vibration and torque feedback signals from the sensors38 via lines 40 and 42. Additional in puts to the strategy logic unitare the commanded feedrate, commanded spindle speed and commandedchip-load signals received on lines 54, 56 and 57, respectively, from afeedrate generator 58 which forms one of the other sub-systems of theadaptive controller 32 and will be subsequently described in detail.Based on the constraint limits, the feedback signals and the commandedsignals, the strategy logic makes a determination as to the broadstrategy to be followed in modifying the spindle speed and feedrate inorder to achieve optimization in the machining process. As willsubsequently be described in detail, the strategy logic bases itsdeterminations on comparisons of the constraint limits and the actualperformance factors and choses a strategy which falls into one of threebroad classes:

1. Air gap condition and no constraint violation. The cutter is not incontact with the workpiece and the feed and spindle speed should beadjusted to high values which will bring the cutter into contact withthe work at the maximum tolerable impact force.

2. No constraint violation and no air gap. The cutter is in contact withthe workpiece and the constraint limits are not being exceeded.Accordingly, both the chip-load and spindle speed signals should beincreased.

3. Constraint Limit Violation. The feedback or command signals indicatethat one of the preset constraint limits is being violated. Either orboth of the chipload or spindle speed signals should be decreased.

The strategy logic unit 52 exercises control over a unit 54 termedModification Control for Chip-Load and Spindle Speed Registers." Themodification sub-system 54 exercises direct control over the feedrategenerator 58 by modifying the contents of chip-load and spindle speedregisters which are contained within the feedrate generator and will besubsequently described in detail. These modifications are made at shortintervals termed sample. The modification control has an input of torquefeedback from line 42 and uses this feedback signal to determine theexact tactics of modification of the registers. Very broadly, thecontrol 54 always modifies spindle speed by a fixed percentage of thecontents of the spindle speed register during each sample period.Chip-load is modified by fixed percentages as long as no constraintlimits are violated but as soon as the torque constraint is violated,the incrementing process is terminated.

The feedrate generator 58, which will be subsequently described indetail, contains spindle speed and chip-load registers and essentiallymultiplies the factors contained in these registers to form .a pulsesignal having a frequency proportional to the product of the two factorswhich constitutes the feedrate command signal. This is provided on line60 to a subsystem 62 termed IPM (inches per minute) logic.

The frequency of the pulse signal on line 60 is proportional to thedesired resultant feedrate of the cutter 12 with respect to theworkpiece 16. Since that resultant motion is achieved by three componentmotions represented by the three axes of the machine over which controlis exercised in the preferred embodiment, it is necessary to exerciseservo control over the interpolators to ensure that the resultant motioncommanded by three individual motion commands is at the desired level.Accordingly, the IPM logic unit 62 receives the feedrate control signalfrom the feedrate generator on line 60 as well as the trains of X, Y andZ command pulses, produced by the interpolator 24, on lines 64, 66 and68. Based on these signals, the unit 62 produces a signal on line 46which controls the rate of operation of the interpolators contained inthe controller 24.

With a DDA type of interpolator (as shown in Ho et al. US. Pat. No.3,128,374), this signal controls the rate of addition of the commandnumbers into the R. registers.

The contents of the spindle speed register 80, which is contained withinthe feedrate generator 58, is provided to a spindle speed generator 70,which constitutes a digital to analog converter which generates avoltage having an amplitude proportional to the spindle speed memberthat is provided to spindle on line 44 and acts to control its speed.

The operation of the system thus broadly described, and in particularthe method of operation of the modification control 54, will now bedescribed on a sub-system by sub-system basis.

CONSTRAINT LIMIT STORAGE The constraint limit values, which may eitherbe provided to the system by means of manually adjustable switches onthe control panel or from the numerical control tape, constitute thefollowing values:

. Maximum allowable torque (T-max) Maximum allowable vibration (A-max)Maximum allowable chip-load (f-max) Maximum allowable spindle speed(V-max) Maximum allowable feedrate (F-max) Minimum chip load (f-min)Minimum spindle speed (V-min) Impact chip-load (f-impact) In thepreferred embodiment of the invention these values are set into themachine in decimal form from input switches and the constraint limitstorage unit 50 performs the operation of converting these decimalvalues to binary form for use by the machine, in accordance withconventional practice.

FIG. 3 illustrates the strategy logic unit 52, its inputs, and theclasses of its outputs. In addition to the eight constraint limitinputs, the feedback inputs and the three inputs from the feedrategenerator, a torque minimum signal (T min) is preset in the unit 52 whenit is coupled to the machine and is normally not changed.

STRATEGY LOGIC With no constraint violations, the strategy logic unit 52provides a pair of signals to the modification control 54 directing itto increase chip-load and increase spindle speed.

If the f-max (maximum chip-load) constraint limit is violated by virtueof the commanded chip-load exceeding the preset maximum and this is theonly violated constraint, then signals are provided to the modificationcontrol 54 commanding the spindly speed be increased, but chip-load notincreased. If V-max (maximum spindle speed) is the only violatedconstraint, then spindle speed is not increased but chipload is.

With the torque constraint violation and no violation of F- min (minimumchip-load), a signal is sent to the modification control to decreasechip-load. With a violation of either vibration or feedrate and noviolation of the minimum spindle speed, the unit 52 generates a signalcalling for decreased spindle speed.

It should be noted that on the basis of these conditions it is possiblefor f-max to be reached and increases in spindle speed to continue tooccur and conversely for V-max to be reached and increases in chip-loadto continue to occur. Only a violation of maximum torque, vibration, orfeedrate will prevent increases in both spindle speed and chip-load. Itshould also be noted that a maximum torque violation is the onlycondition that will cause a decrease in chip-load while only feedrate orvibration violations will cause a decrease in spindle speed.

A third class of signals is produced by the strategy logic when T-actualfalls below T-min indicating that an air gap exists between the cutterand the workpiece. In this case, the

' settings of the chip-load and spindle speed registerss areimmediately, respectively set to f-impact and V-min rcalling for feed atthe maximum speed at which the tool is allowed to approach the workthrough the air.

The corrections that the control initiates upon violation of the variousconstraints, and the effect on the tool operation which results fromthis correction are summarized in the following chart:

Violation Correction Effect T-Max. Decreases chip Limits tool deflectionload Minimizes tool breakage Increases tool life A-Max. Changes spindleLimits tool chatter speed Controls surface finish Increases tool lifef-Max. Prevents further Limits feedrate for low increase in chip torqueor finish cuts load Controls surface finish f-Min. Prevents further Setsminimum metal re decrease in chip moval rate and prevents load underflowF-Max. Decreases feedrate Limits feedratcs to the and spindle speedmaximum permissible for the slide drives Improves tool life V-Min.Prevents further Prevents poor surface decrease of spindle finish andprotects speed spindle motor V-Max. Prevents further Prevents excessivetool increase of spindle wear rate and work speed hardening T-Min. Semfeedrate to Decreases unprog'rammed f-impact rates air cutting timeMODIFICATION CONTROL The modification control 54 is schematicallyillustrated in FIGS. 4 and 5 as comprising a pair of sections: 54a,disclosed in FIG. 4, which contains the spindle speed control, and 54B,illustrated in FIG. 5, which contains the chip-load control. Both ofthese sections receive the output signals from the strategy logic unit52 which are illustrated in FIG. 3, and act under control of thesesignals to modify the contents of the spindle speed register and thechip-load register which are both contained within the feedrategenerator 58 but are illustrated in FIGS. 4 and 5 as being part of themodification control for clarity of description.

SPINDLE SPEED MODIFICATION The spindle speed modification control 54Aacts to increase or decrease the contents of a spindle speed register 80under the control of signals from the strategy logic unit 52. Theregister 80 may be a magnetostn'ctive delay line or a flip-flop shiftregister. The modification of the spindle speed register occurs atregular intervals under the control of signals from a timing unit 82. Inthe preferred embodiment of the invention these timing signals, whichdefine a sampling period, are generated when previous modification hasbeen completed so that the values measured by the sensors are thosecaused by the new feedrates or spindle speeds, and the spindle hasrotated through at least one revolution. The requirement that thespindle rotate through a complete revolution is dictated by the factthat the tool may have some run other than two cutting angles may not beperfectly uniform. Thus, it will require at least one spindle revolutionto be able to measure the maximum value of torque accurately. In thepreferred embodiment to this invention, this sampling period may averageabout 100 microseconds.

During each sampling period, the contents of the spindle speed register80 are modified by approximately 1.6 percent. The register is a binaryregister of 10 bits in length. It thus can contain any number up to1,023. The spindle speed register modification process first involvesthe entry of the contents of the spindle speed register 80 into aspindle speed percentage control register 84, also 10 bits in length.The percentage control register 84 is a recirculating delay lineregister which continuously circulates its contents through a subtractor86 and a zero detector 88. The output of the zero detector is fed backinto the percentage control register 84. In order to modify the contentsof the spindle speed register by 1.6 percent, the contents of thepercentage control register 84, which is initially equal to the contentsof spindle speed register 80, are recirculated through the subtractor 86and zero detector 88, and during each recirculation a binary one issubtracted from the fifth stage of the register. This is equivalent tosubtracting the number 16 from the contents of the register. If theregister initially contained all ones, 69 subtractions would be requiredto reduce the contents of the percentage control register to zero; ifthe initial contents are lower, fewer recirculating subtractions arerequired. The condition of all zeros is observed by zero detectorregister 88. Simultaneously with each of the subtractions from thepercentage control register 84, one is either added or subtracted fromthe least significant stage of the spindle speed register 80, dependingupon whether the spindle speed is to be increased or decreased. This isaccomplished under the control of a spindle speed increment control 90which provides a single pulse to an add/subtract logic unit 92 and atthe same time provides a subtracting pulse to the subtractor 86. Thelogic unit 92 either adds or subtracts a pulse from the spindle speedregister 80 under control of the increment or decrement signals from thestrategy logic unit 52. This modification process is halted when thezero detector 88 signals that the contents of the precentage controlregister 84 have been fully depleted. At this point, the contents of thespindle speed register have been modified by 1.6 percent.

CHIP-LOAD MODIFICATION Increases in the contents of the chip-loadregister 100 under the control of the modification unit 548 areconducted in a different and more complex manner than are modificationsin the spindle speed register 80. Since the chip-load is related totorque in a generally linear manner, linear interpolations of bothtorque and chip-load are performed to arrive at the chipload requiredfor maximum torque. However, in order to avoid sudden changes inchip-load, the modification is limited at its upper end by amodification of 3.2 percent of the original contents of the chip-loadregister using a percentage control technique similar to that employedwith the spindle speed. Thus, in normal operation, the chip-load isincreased by 3.2 percent during each sampling period until maximumtorque is reached. That torque will normally be reached during anincrease period, and the incrementing will be terminated at that pointrather than completing the full 3.2 percent increment.

When the stragegy logic 52 calls for a decrease in chip-load, thepercentage control is inoperative and a proportional decrease in thechip-load occurs during the next sampling period.

During the increase and decrease in contents of the chipload register100, a torque register is similarly modified in a linear manner in orderto determine the torque modifications in an internal manner, withoutdependence on the slightly delayed feedback torque signal.

At the start of a sample period, the contents of the chip-load registerare inserted into a chip-load percentage control register 102, and theactual torque number is loaded into the torque I register 104. All threeof these units constitute recirculating shift registers.

The contents of the chip-load register 100 are regularly passed throughan adder 106 as are the contents of a recirculating chip-load R register110. The contents of the torque I register 104 pass through an adder 108along with the contents of a recirculating torque R register 112. Bymeans of the adder 106 the contents of the chip-load register 100 areregularly added into the chip-load R register 110. Similarly, by meansof the adder 108, the contents of the torque I register 104 areregularly added to the torque R register 112.

The line which returns the output from the adder 106 to the chip-load Rregister 110 passes through an overflow detector 114 which detects theoverflows from the most significant stage of the R register 110. Eachtime one of these overflows occurs, the chipload register 100 is eitherincremented or decremented by a count of one. This is done by thechip-load increment control 116 which receives the output of theoverflow detector 114 and provides a pulse to an add/ subtract logicunit 118. This logic unit has inputs from the strategy logic 52 whichindicate whether the chip-load register is to be incremented ordecremented, and accordingly adds or subtracts a count of one from thechip-load register.

In a similar manner, the output of the adder 108 is passed through anoverflow detector 120 before being returned to the torque R register112. Overflows from the torque R register are thus detected and used toincrement or decrement the torque I register 104 under control of anadd/subtract logic unit 122 which receives the increment or decrementchip-load signals from the strategy logic unit 52. If the chip-load isto be incremented, a one is added to the torque I register 104 each timean overflow is sensed by the detector 120, and similarly ones aresubtracted from the torque I register 104 upon occurrence of overflowsif the chip-load register is to be decremented. Through this technique,the contents of the chip-load register 100 and the torque I register 104are modified at rates that are proportional to their contents. Thislinear interpolation derives a torque value which is on the straighttorque/chip-load line.

As has been noted, when chip-load is being incremented the modificationwhich occurs in any one sample period is limited to 3.2 percent of theprevious chip-load register value. This is achieved under the control ofthe chip-load percentage control register 102 which is continuallyrecirculated through a subtractor 124 and a zero detector 126. Each timethe chipload increment control 116 causes a modification of the chiploadregister 100, a pulse is provided to the subtractor 124 which subtractsa pulse from the sixth most significant stage of the ten bit chip-loadregister. Thus, after 32 subtractions, the contents of the chip-loadpercentage control register 102 will be decreased to zero, and thiscondition will be sensed by the detector 126 which will provide a signalto a start-stop control 128 terminating further modification of thechip-load register during that sample period. At the beginning of thenext sample period, a pulse from the timing unit 82 to the start-stopcontrol 128 initiates another incrementing or decrementing cycle.

The value contained in the torque I register is continually comparedwith the value of T-max by a comparator 130. If the contents of thetorque I register 104 reach T-max during an inerementing cycle, a signalis provided by the comparator 130 to the start-stop control 128terminating further incrementing during that time length cycle.Similarly, if the chip-load register 100 is being decremented during asample period and T- max is reached, further decrementing is decreased.

FEEDRATE GENERATOR Up to this point, the description has been limited tothat part of the system which modifies the contents of the spindle speedregister 80 and the chip-load register 100 in order to modify thespindle speed and feedrate signals provided to the numerical controlsystem and machine in an adaptive manner. The prime function of thefeedrate generator 58, which is illustrated in detailed block form inFIG. 6, is to actually generate the feedrate and spindle speed signals.Since chipload is defined as feed per revolution, the feedrate is theproduct of chip-load and spindle speed. Accordingly, the feedrategenerator 58 acts to multiply chip-load by spindle speed to derive afeedrate signal. This is achieved by interpolating the contents of thechip-load register in a DDA type manner so that a pulse train isobtained having a frequency proportional to the contents of theregister. The pulses in this train act as add commands for theinterpolation of the spindle speed register so that the overflows fromthe spindle speed DDA process occur at a rate proportional to theproduct of the contents of the chip-load register and the spindle speedregister.

The chip-load register 1 10 and overflow detector 114 which wereillustrated in FIG. 5 as forming part of the chip-load proportionalcontrol system are also illustrated in FIG. 6. A chipload add commandoscillator 140 provides pulses to the adder 106 which cause the contentsof the continually recirculating chip-load register 100 to be added intothe chip-load R register 110. These add commands are also used in thechip-load proportional control process of the modification control 54.The overflows from these additions are sensed by the detector 114 whichprovides an output pulse each time an overflow occurs. These overflowsthus occur at a rate proportional to the contents of the chip-loadregister multiplied by the constant value represented by the output rateof the F add command oscillator 140.

This pulse train from the overflow detector 114 is provided to anotheradder 142 which continually receives the recirculating contents of thespindle speed register 80. Upon the receipt of each pulse from theoverflow detector 114, the adder 142 adds the contents of the spindlespeed register 80 into a spindle speed R register 114 which is alsocontinually recirculating through the adder 142. The overflows of the Rregister 144 are sensed by a detector 146 which provides an output pulseeach time an overflow occurs. Thus, the output of the overflow detectoris a pulse train which is proportional to both the contents of thechip-load register 100 and the spindle speed register 80, and thusproportional to their product. This output, on line 60, is also providedto a pulse-to-digital converter 148 which provides its output to thestrategy logic. This input to the strategy logic constitutes the actualfeedrate signal.

Similarly, the contents of the chip-load register 100 and the spindlespeed register 80 are both provided to the constraint logic. The spindlespeed register contents 80 are also sent to the spindle speed generator70 which constitutes a digital-toanalog converter which provides anappropriate control voltage to the spindle on line 44.

, IPM LOGIC The instantaneous resultant velocity of the cutter withrespect to the workpiece is equal to the square root of the sum of thesquares of the three component velocities along the three mutuallyperpendicular machine control axes. Since the frequency of the feedratepulse train provided on line 60 is proportional to the desired resultantvelocity of the cutter with respect to the workpiece, and since theactual velocities of the three controlled axes are proportional to thefrequencies of the command pulse trains provided'to the X, Y and Zservos 26, 28 and 30, respectively, by the controller 24, the resultantmotion of the cutter will be occurring at the commanded rate when thefrequency of the pulse train on line 60 is equal to the square root ofthe sum of the three frequencies of the trains on line 64, 66 and 68.This equality may be restated as: the square of the frequency of thepulse train on line 60 must be equal to the sum of the squares of thefrequencies of the pulse trains on lines 64, 66 and 68 for the actualmotion to be proceeding at the commanded rate. The IPM circuitry acceptsthe pulse trains on line 60, 64, 66 and 68 and provides an output signalto the controller 24 on line 46 which varies the rate of generation ofthe X, Y and Z command pulse trains so as to maintain the equality.

The broad block organization of the IPM logic 62 is illustrated in FIG.7. The pulse train on line 60 is provided to a square register 200 whichgenerates a series of binary numbers the sum of which is equal to thesquare of the number of pulses received. The nature of this device willbe subsequently described with the aid of FIG. 8. Similarly, the threecommand pulse trains for the X, Y and Z axes, on line 64, 66 and 68,respectively, are provided to three additional square registers 202, 204and 206. The numbers generated by the registers 202, 204 and 206 aresimultaneously provided to an adder 208 the output of which is providedto a comparator unit 212 where it is subtracted from the numbersprovided by the square register 200. As long as the outputs of register200 exceed the outputs of adder 208, enabling control signals are sentto an add command generator 214 which provides pulses to the controller24 causing the X, Y and Z command pulses to be generated.

As had been previously noted in the preferred embodiment the controlleroperates on a DDA principle, and the outpus of the generator 214constitute add commands causing the controller to add the contents ofthe three I registers into their respective R registers. At such time asthe integral of the outputs of the adder 208 equals the integral of theoutputs of the square register 200, a signal is sent to add commandgenerator 214 by the comparator 212 terminating the generation of anyadd command pulses. In this manner, the add command generator providesoutput pulses until sufficient additional pulses are received by thesquare register 200 from line 60 to cause its outputs to exceed those ofthe adder 210. In this closed loop manner, an equality is maintainedbetween the contents of the two registers insuring that the actualresultant motion is proceeding at the rate commanded bythe adaptivecontroller.

At some point the square registers 200, 202, 204 and 206 will be filledto their capacity. When that condition is detected, these registers areall simultaneously cleared and the procedure starts over again. Thisclearing operation may introduce a minor error into the add commands,but this error can be made as small as possible by making the registerslarger.

The internal structure of the square register 200 which is identical tothe square register 202, 204 and 206 is disclosed in FIG. 8. The pulseson line 60 are entered into a counter 220. Simultaneously, the contentsof this counter, after the addition of each pulse, are shifted onebinary position to the left by unit 222 (efiectively multiplying thequantity contained in the pulse counter 220 by a factor of two) and aone is then subtracted from the shifted quantity by a subtractor 224.The one is the same pulse that was entered into the counter from line60. The output of the subtractor constitutes a series of numbers whichare provided to comparator 212. The integral of the numbers provided tocomparator 212, after n pulses appear on line 60, will be equal to nEfiectively, this system adds the quantity (2n-1 into the comparator 212for each pulse received, wherein n is the count of that pulse. As shownbelow, the contents of the register 226 will have a value of n n(Counter 220) (Zn-l) The mathematical statement of the operationperformed above is This is an arithmetic progression. Applying theformula for its sum we have Substituting: .4 1 2 1 12 Sum (first termlast term) FIG. 9 illustrates a typical mode of operation of theadaptive controller in optimizing machine tool operation. With spindlespeed plotted as the abcissa and chip-load as the ordinate, the minimumand maximum values of spindle speed and chip-load bound an area in whichmachine operation may occur. Maximum torque extends somewhat parallel tomaximum chipload. lt may either be above or below it depending uponseveral other factors. In FIG. 8 it is illustrated as the dotted linebelow F-Max, thus further limiting the range of operation of the system.F-Max, which varies as a function of both chipload and spindle speed mayalso limit the area of machine operation.

As shown by the solid line in FIG. 8, beginning with the minimum valuesof spindle speed and chip-load which occur as soon as the cutter impactsthe work, both chip-load and spindle speed are increased during eachsampling period under percentage control initially. When the V-max. lineis intersected spindle speed is no longer increased but chip-load isincreased during each sampling period. When the F-Max. line isintersected both spindle speed and feedrate are decreased until theviolation is corrected. Both values are then increased in a percentagemanner. This results in a zig-zag movement along the F-Max. line untilT-Max. is reached at which point the control continues to oscillateabout that point.

Having thus described our invention, we claim:

I. In a control system for a machine tool having a cutter whichinteracts with a workpiece, in combination: sensors as sociated with themachine for measuring parameters relating to the interaction of thecutter with the workpiece and for generating signals representative ofthe values of these parameters; means for introducing signalsrepresentative of the numerical values of constraints relating to thedesired operation of the machine; means for accepting said constraintvalues and said sensor values and for generating a pair of controlsignals for the machine tool, said last means including means forgenerating a pair of numerical values, means for deriving said controlsignals from said values, and means for modifying said values at spacedtime intervals, at least one of said values being modified during aninterval by a magnitude proportional to its value at the start of thatinterval.

2. The control system of claim 1 wherein said means for modifying sadvalues at spaced time intervals operates so that the direction ofmodification of said pair of numerical values during any time intervalis dependent upon the relationship between the numerical values of theconstraints related to the desired operation of the machine and thesignals representing the actual operation of the machine including thesensor values, the direction of modification being such as to urge themachine toward operation in a mode which is within the constraintsrelating to the desired operation of the machine.

3. The control system of claim 1 wherein said means for modifying saidvalues at spaced time intervals operates so that the process ofmodification of said numerical values which is being modified by amagnitude proportional to its value at the start of that time intervalis terminated at such time as the actual operation of the machineviolates the constraints relating to the desired operation of themachine.

4. The control system of claim 1 wherein the machine tool is a millingmachine, the pair of control signals respectively control the rate offeed and rate of rotation of the machine cutter, one of the numericalvalues is representative of the rate of rotation of the machine cutterand the other numerical value is representative of the chip-load of themachine, and the control signal for the feed rate of the machine isderived by multiplying the numerical values.

5. The system of claim 1 wherein the numerical values are maintained infirst registers and the means for modifying the values at spaced timeintervals includes second registers each associated with one of saidfirst registers, means for loading the values contained in firstregisters into their associated second registers prior to anymodification, means for repeatedly recirculating the contents of each ofthe first and second registers, means for incrementing the firstregisters by a first fixed value during each recirculation; means formodifying the contents of each second register by a different factorduring each recirculation, and means for terminating the modificationprocess when the contents of the second registers achieve apredetermined value.

6. The system of claim 5 wherein said means for modifying the values atspaced time intervals operates so that the contents of the firstregisters are each modified by the minimum quantity storable in suchregister during each recirculation and the contents of the secondregisters are modified by subtracting a fixed value from their contentsduring each recirculation.

7. The system of claim 6 wherein each of the second registers has adifferent value subtracted from it during each recirculation so thatthey achieve the unique conditions at which their recirculation isterminated at different times.

8. The system of claim 5 wherein a third register is provided, one ofsaid sensor values is initially loaded into said third'register, saidthird register and one of said first registers are modified at ratesproportional to their contents, and the contents of the third registerare continually compared to one of the constraint values to terminatethe modification process when the contents of the third register equalthe constraint value.

9. In a control system for a machine tool having a cutter whichinteracts with a workpiece, in combination: sensors associated with themachine for measuring parameters relating to the interaction of thecutter with the workpiece and for generating signals representative ofthe values of these parameters; means for introducing signalsrepresentative of the numerical values of constraints relating to thedesired operation of the machine; means for generating a pair ofnumerical values, means for deriving control signals for the machinefrom said values, and means for modifying said values at spaced timeintervals, said last said means including a register, means for settinga numerical value representative of one of the measured parameters inthe register prior to the modification of the numerical values, meansfor simultaneously modifying the quantity in the register and one of thenumerical values at rates proportional to their contents at any giventime, and means for comparing the contents of the register with one ofthe constraint values and for terminating the modification operation atsuch time as the contents of the register equal the numerical value ofsuch restraint.

10. The system of claim 9 wherein said means for setting a numericalvalue in the register operates such that the numerical value which isset in the register prior to the modification of the numerical value isrepresentative of torque and the contents of the register are comparedto the constraint value which is representative of the maximum torque.

1 1. The system of claim 9 wherein during each interval each of thenumerical values is modified by a fixed percentage of its originalcontent unless the contents of the register exceed the constraint valueagainst which it is compared during such modification process, in whichevent the modification of at least one of said numerical values isterminated.

12. The system of claim 9 wherein the means for simultaneously modifyingthe quantity in the register and one of the numerical values at ratesproportional to their contents at any given time comprises a pair ofremainder registers, one associated with said register and oneassociated with said numerical value, means for retaining the quantityin the register and the numerical value each into their associatedremainder register, means for detecting overflows from said remainderregisters, and means for modifying the quantity in said register or saidnumerical value at such time as an overflow occurs from its associatedremainder register.

13. In a control system for a machine tool having a cutter whichinteracts with a workpiece, in combination: sensors associated with themachine for measuring parameters relating to the interaction of thecutter with a workpiece and for generating signals representative of thevalues of these parameters; means for introducing signals representativeof the numerical values of constraints relating to the desired operationof the machine; means for accepting said constraint values and saidsensor signals and for generating a pair of control signals for themachine tool, said last means including means for generating a pair ofnumerical values each of which is a function of one of the controlsignals, means for deriving the control signals from said values, meansfor modifying said values at spaced time intervals, and means forsetting said numerical values to a first pair of said constraint valuesat such time as the sensor signals are in such a pattern as to indicatethat the cutter is out of contact with the workpiece, and a second setof constraint values at such time as signals from the sensors arein sucha pattern as to indicate that the cutter has initially made contact withthe workpiece.

14. The control system of claim 13 wherein the values to which thenumerical quantities are set when the sensor signals are in such apattern as to indicate that the cutter is out of contact with the workpiece are equal to the maximum feedrate and the minimum torque.

is. In a control system for a machine tool having a cutter whichinteracts with a workpiece, in combination: sensors associated with themachine for measuring parameters relating to the interaction of thecutter with the workpiece and for generating signals representative ofthe values of these parameters; means for introducing signalsrepresentative of the numerical values of constraints relating to thedesired operation of the machine; means for generating a pair ofnumerical values; means for deriving a pair of control signals for themachine tool from said values, and means for modifying said numericalvalues at spaced time intervals, said last said numerical meansincluding a pair of first registers containing said numerical values, apair of second registers, one associated with each first register, meansfor loading the contents of the first registers into the secondregisters prior to the initiation of the modification; means formodifying said second registers each time a modification is made in saidfirst registers, and means for terminating the modification process uponthe occurrence of a unique condition in each of said second registers.

1. In a control system for a machine tool having a cutter whichinteracts with a workpiece, in combination: sensors associated with themachine for measuring parameters relating to the interaction of thecutter with the workpiece and for generating signals representative ofthe values of these parameters; means for introducing signalsrepresentative of the numerical values of constraints relating to thedesired operation of the machine; means for accepting said constraintvalues and said sensor values and for generating a pair of controlsignals for the machine tool, said last means including means forgenerating a pair of numerical values, means for deriving said controlsignals from said values, and means for modifying said values at spacedtime intervals, at least one of said values being modified during aninterval by a magnitude proportional to its value at the start of thatinterval.
 2. The control system of claim 1 wherein said means formodifying sad values at spaced time intervals operates so that thedirection of modification of said pair of numerical values during anytime interval is dependent upon the relationship between the numericalvalues of the constraints related to the desired operation of themachine and the signals representing the actual operation of the machineincluding the sensor values, the direction of modification being such asto urge the machine toward operation in a mode which is within theconstraints relating to the desired operation of the machine.
 3. Thecontrol system of claim 1 wherein said means for modifying said valuesat spaced time intervals operates so that the process of modification ofsaid numerical values which is being modified by a magnitudeproportional to its value at the start of that time interval isterminated at such time as the actual operation of the machine violatesthe constraints relating to the desired operation of the machine.
 4. Thecontrol system of claim 1 wherein the machine tool is a milling machine,the pair of control signals respectively control the rate of feed andrate of rotation of the machine cutter, one of the numerical values isrepresentative of the rate of rotation of the machine cutter and theother numerical value is representative of the chip-load of the machinE,and the control signal for the feed rate of the machine is derived bymultiplying the numerical values.
 5. The system of claim 1 wherein thenumerical values are maintained in first registers and the means formodifying the values at spaced time intervals includes second registerseach associated with one of said first registers, means for loading thevalues contained in first registers into their associated secondregisters prior to any modification, means for repeatedly recirculatingthe contents of each of the first and second registers, means forincrementing the first registers by a first fixed value during eachrecirculation; means for modifying the contents of each second registerby a different factor during each recirculation, and means forterminating the modification process when the contents of the secondregisters achieve a predetermined value.
 6. The system of claim 5wherein said means for modifying the values at spaced time intervalsoperates so that the contents of the first registers are each modifiedby the minimum quantity storable in such register during eachrecirculation and the contents of the second registers are modified bysubtracting a fixed value from their contents during each recirculation.7. The system of claim 6 wherein each of the second registers has adifferent value subtracted from it during each recirculation so thatthey achieve the unique conditions at which their recirculation isterminated at different times.
 8. The system of claim 5 wherein a thirdregister is provided, one of said sensor values is initially loaded intosaid third register, said third register and one of said first registersare modified at rates proportional to their contents, and the contentsof the third register are continually compared to one of the constraintvalues to terminate the modification process when the contents of thethird register equal the constraint value.
 9. In a control system for amachine tool having a cutter which interacts with a workpiece, incombination: sensors associated with the machine for measuringparameters relating to the interaction of the cutter with the workpieceand for generating signals representative of the values of theseparameters; means for introducing signals representative of thenumerical values of constraints relating to the desired operation of themachine; means for generating a pair of numerical values, means forderiving control signals for the machine from said values, and means formodifying said values at spaced time intervals, said last said meansincluding a register, means for setting a numerical value representativeof one of the measured parameters in the register prior to themodification of the numerical values, means for simultaneously modifyingthe quantity in the register and one of the numerical values at ratesproportional to their contents at any given time, and means forcomparing the contents of the register with one of the constraint valuesand for terminating the modification operation at such time as thecontents of the register equal the numerical value of such restraint.10. The system of claim 9 wherein said means for setting a numericalvalue in the register operates such that the numerical value which isset in the register prior to the modification of the numerical value isrepresentative of torque and the contents of the register are comparedto the constraint value which is representative of the maximum torque.11. The system of claim 9 wherein during each interval each of thenumerical values is modified by a fixed percentage of its originalcontent unless the contents of the register exceed the constraint valueagainst which it is compared during such modification process, in whichevent the modification of at least one of said numerical values isterminated.
 12. The system of claim 9 wherein the means forsimultaneously modifying the quantity in the register and one of thenumerical values at rates proportional to their contents at any giventime comprises a pAir of remainder registers, one associated with saidregister and one associated with said numerical value, means forretaining the quantity in the register and the numerical value each intotheir associated remainder register, means for detecting overflows fromsaid remainder registers, and means for modifying the quantity in saidregister or said numerical value at such time as an overflow occurs fromits associated remainder register.
 13. In a control system for a machinetool having a cutter which interacts with a workpiece, in combination:sensors associated with the machine for measuring parameters relating tothe interaction of the cutter with a workpiece and for generatingsignals representative of the values of these parameters; means forintroducing signals representative of the numerical values ofconstraints relating to the desired operation of the machine; means foraccepting said constraint values and said sensor signals and forgenerating a pair of control signals for the machine tool, said lastmeans including means for generating a pair of numerical values each ofwhich is a function of one of the control signals, means for derivingthe control signals from said values, means for modifying said values atspaced time intervals, and means for setting said numerical values to afirst pair of said constraint values at such time as the sensor signalsare in such a pattern as to indicate that the cutter is out of contactwith the workpiece, and a second set of constraint values at such timeas signals from the sensors are in such a pattern as to indicate thatthe cutter has initially made contact with the workpiece.
 14. Thecontrol system of claim 13 wherein the values to which the numericalquantities are set when the sensor signals are in such a pattern as toindicate that the cutter is out of contact with the work piece are equalto the maximum feedrate and the minimum torque.
 15. In a control systemfor a machine tool having a cutter which interacts with a workpiece, incombination: sensors associated with the machine for measuringparameters relating to the interaction of the cutter with the workpieceand for generating signals representative of the values of theseparameters; means for introducing signals representative of thenumerical values of constraints relating to the desired operation of themachine; means for generating a pair of numerical values; means forderiving a pair of control signals for the machine tool from saidvalues, and means for modifying said numerical values at spaced timeintervals, said last said numerical means including a pair of firstregisters containing said numerical values, a pair of second registers,one associated with each first register, means for loading the contentsof the first registers into the second registers prior to the initiationof the modification; means for modifying said second registers each timea modification is made in said first registers, and means forterminating the modification process upon the occurrence of a uniquecondition in each of said second registers.